Vai em Data/Globalevents/Scripts e cria o arquivo item_random.lua e adiciona o código dentro:
-- TABELA COM O ID E QUANTIDADE DO ITEM -- local items = { {id = 15412, quantidade = 5}, {id = 15487, quantidade = 1}, {id = 8987, quantidade = 1}, {id = 6585, quantidade = 1}, {id = 9658, quantidade = 1}, {id = 3258, quantidade = 1}, {id = 2152, quantidade = 100}, {id = 2160, quantidade = 50}, } -- TABELA COM AS POSIÇÕES ONDE SERÁ CRIADO O ITEM NO MAPA -- local coordenadas_mapa = { {x= 1000, y= 1000, z= 7}, {x= 1000, y= 1000, z= 7}, {x= 1000, y= 1000, z= 7}, {x= 1000, y= 1000, z= 7}, {x= 1000, y= 1000, z= 7}, {x= 1000, y= 1000, z= 7}, {x= 1000, y= 1000, z= 7}, {x= 1000, y= 1000, z= 7}, {x= 1000, y= 1000, z= 7}, {x= 1000, y= 1000, z= 7}, {x= 1000, y= 1000, z= 7}, {x= 1000, y= 1000, z= 7}, {x= 1000, y= 1000, z= 7} } --------------------------------- CÓDIGO --------------------------------- function onThink(cid, interval, lastExecution) local mensagem = true -- VARIAEL QUE DEFINE SE VAI APARECER MENSAGEM, SE QUER MENSAGEM MUDE DEIXE TRUE, CASO CONTRÁRIO MUDE PARA FALSE local random_item = math.random(#items) -- VALOR ALEATÓRIO PARA PEGAR UM ID DE ITEM DE ACORDO COM O ÍNDICE DA TABELA local random_position = math.random(#coordenadas_mapa) -- VALOR ALEATÓRIO DO ÍNDICE DA TABELA PARA PEGAR UMA POSIÇÃO PARA CRIAR O ITEM local texto = "Um item surgiu no mapa." -- TEXTO QUE VAI APARECER NO BROADCAST if mensagem then doCreateItem(items[random_item].id, items[random_item].quantidade, {coordenadas_mapa[random_position].x, coordenadas_mapa[random_position].y, coordenadas_mapa[random_position].z}) doBroadcastMessage(texto) return true else doCreateItem(items[random_item].id, items[random_item].quantidade, {coordenadas_mapa[random_position].x, coordenadas_mapa[random_position].y, coordenadas_mapa[random_position].z}) return true end end
Deixei a tabela com as coordenadas tudo 1000 x e y para você trocar (valor genérico), e na tabela de itens só colocar id e quantidade dos itens. Deixei uma variável booleana mensagem para aparecer mensagem broadcast caso queira, mas se não quiser, só colocar false. Tem a variável texto que é o texto que vai aparecer no broadcast, só mudar lá como queira.
Agora adicione a tag no arquivo globalevents.xml:
<globalevent name="item_random" interval="3600" script="item_random.lua"/>
No atributo interval você coloca a quantidade de tempo que quer, tem servidor que é em segundos e servidor que é em milissegundos, mas normalmente é em segundos. Se for em em milissegundos, só multiplicar por 1000. No caso ali, deixei em segundos (1 hora).
Teste e me fale caso der algum erro ou problema.





info
Grupo: Visconde
Registrado: 09/05/18
Posts: 267
Reputação: +9
Gênero: Feminino
Char no Tibia: Merascylla
Alguém pode me ajudar com o seguinte script?
Pode ser por global event ou talkaction (oque for mlr pra vcs).
Ao ser ativado uma mensagem irá aparecer na tela e um item irá ser spawnado no mapa aleatoriamente (os locais em que ele pode aparecer podem ser configurados).
Obgd desde já ❤️